set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
 
CREATE  PROCEDURE [dbo].[SIPARIS_EKLE]
@Evrak_Tarih DateTime,
@Seri VarChar(5),
@Sira int,
@Satir Int,
@Stok_kod VarChar(25),
@Cari_kod VarChar(25),
@Miktar Float,
@GirisDepo int,
@CikisDepo int,
@plasiyer varchar(25),
@srmerkez varchar(25),
@kullanici varchar(25),
@yekun Float,
@isk1_tutar Float,
@isk2_tutar Float,
@isk3_tutar Float,
@isk4_tutar Float,
@isk5_tutar Float,
@Kdv TinyInt,
@Fiyat Float,
@belge_no varchar(25),
@firma_no int,
@sube_no int,
@doviz int
AS
DECLARE
@Record_id int,
@kdv_oran float,
@kdv_tutar float
set @kdv_oran=dbo.fn_VergiYuzde(@Kdv)
set @kdv_tutar = (@yekun - (@isk1_tutar+@isk2_tutar+@isk3_tutar+@isk4_tutar+@isk5_tutar)) * @kdv_oran / 100
 
if exists(SELECT     sip_evrakno_seri  FROM         SIPARISLER  WHERE     (sip_evrakno_seri = @Seri) AND (sip_evrakno_sira =@Sira) AND (sip_satirno = @Satir) AND (sip_tip = 1) AND (sip_cins=0))
      begin
            UPDATE SIPARISLER SET
                                                     sip_lastup_user=@kullanici, sip_lastup_date=@Evrak_Tarih, sip_tarih=@Evrak_Tarih, sip_teslim_tarih=@Evrak_Tarih, sip_tip=1, sip_cins=0, sip_evrakno_seri=@Seri, 
                                       sip_evrakno_sira=@Sira, sip_satirno=@Satir, sip_belge_tarih=@Evrak_Tarih, sip_musteri_kod=@Cari_kod, sip_stok_kod=@Stok_kod, sip_b_fiyat= @Fiyat, sip_miktar=@Miktar, sip_teslim_miktar=0, sip_tutar=@yekun , sip_iskonto_1=@isk1_tutar, sip_iskonto_2=@isk2_tutar, sip_iskonto_3=@isk3_tutar, sip_iskonto_4=@isk4_tutar, sip_iskonto_5=@isk5_tutar , sip_vergi_pntr=@Kdv,sip_vergi=@kdv_tutar,
                                        sip_opno=0, sip_depono=@GirisDepo, sip_vergisiz_fl=0, sip_kapat_fl=0, sip_doviz_cinsi=@doviz, sip_doviz_kuru=0, sip_alt_doviz_kuru=1, sip_adresno=0, sip_cagrilabilir_fl=1, 
                                       sip_prosiprecDbId=0, sip_prosiprecrecI=0, sip_durumu=0, sip_stalRecId_DBCno=0, sip_stalRecId_RECno=0, sip_planlananmiktar=0,sip_iskonto1=1, sip_iskonto2=1, sip_iskonto3=1, sip_iskonto4=1, sip_iskonto5=1,sip_stok_sormerk=@srmerkez,sip_cari_sormerk=@srmerkez,sip_belgeno=@belge_no,sip_firmano=@firma_no,sip_subeno=@sube_no
            WHERE     (sip_evrakno_seri = @Seri) AND (sip_evrakno_sira =@Sira) AND (sip_satirno = @Satir) AND (sip_tip = 1) AND (sip_cins=0)
      end
else
      begin
            INSERT INTO SIPARISLER 
                                      (sip_RECid_DBCno, sip_RECid_RECno, sip_SpecRECno, sip_iptal, sip_fileid, sip_hidden, sip_kilitli, sip_checksum, sip_create_user, 
                                       sip_create_date, sip_lastup_user, sip_lastup_date, sip_tarih, sip_teslim_tarih, sip_tip, sip_cins, sip_evrakno_seri, 
                                       sip_evrakno_sira, sip_satirno, sip_belge_tarih, sip_musteri_kod, sip_stok_kod, sip_b_fiyat, sip_miktar, sip_teslim_miktar, sip_tutar , sip_iskonto_1, sip_iskonto_2, sip_iskonto_3, sip_iskonto_4, sip_iskonto_5, sip_vergi_pntr,sip_vergi,
                                        sip_opno, sip_depono, sip_vergisiz_fl, sip_kapat_fl, sip_doviz_cinsi, sip_doviz_kuru, sip_alt_doviz_kuru, sip_adresno, sip_cagrilabilir_fl, 
                                       sip_prosiprecDbId, sip_prosiprecrecI, sip_durumu, sip_stalRecId_DBCno, sip_stalRecId_RECno, sip_planlananmiktar,sip_iskonto1, sip_iskonto2, sip_iskonto3, sip_iskonto4, sip_iskonto5,sip_stok_sormerk,sip_cari_sormerk,sip_belgeno,sip_firmano,sip_subeno)
                        VALUES     (0,0, 0, 0, 21, 0, 0, 0, @kullanici,@Evrak_Tarih, @kullanici,@Evrak_Tarih,@Evrak_Tarih,@Evrak_Tarih, 1, 0, @Seri,@Sira,@Satir,@Evrak_Tarih,@Cari_kod,@Stok_kod, @Fiyat  , @Miktar  , 0, @yekun  , @isk1_tutar  , @isk2_tutar  , @isk3_tutar  , @isk4_tutar  , @isk5_tutar  ,@Kdv,@kdv_tutar, 0,@GirisDepo, 0, 0, @doviz, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,1,1,1,1,1,@srmerkez,@srmerkez,@belge_no,@firma_no,@sube_no)
 
 
            SELECT @Record_id=@@IDENTITY
            UPDATE    SIPARISLER    SET   sip_RECid_RECno = @Record_id  WHERE    sip_RECno = @Record_id
      end